//
//  Interface.swift
//  GroupPattern
//
//  Created by mac on 2017/11/16.
//  Copyright © 2017年 RRC. All rights reserved.
//

import Foundation

/**
 将信息抽象至Crop类后，接口也就没有用了
 */

//公司人员接口
protocol ICorp {
    //每个员工都有信息
    func getInfo() -> String
}


//叶子（树叶）节点的接口
protocol ILeaf:ICorp {
    //获得自己的信息
//    func getInfo() -> String
}


//其他有分支(树枝)的节点接口
protocol IBranch:ICorp {
    //获得信息
//    func getInfo() -> String
    //增加数据节点，例如研发部下设的研发一组
//    func add(branch:IBranch)
//    //增加叶子节点
//    func add(leaf:ILeaf)
//    //获得下级信息
//    func getSubordinateInfo<T>() -> [T]
    
    //修改
    //能名增加小兵（树叶节点）或是经理（树枝节点）
    func addSubordinate(corp:ICorp)
    
    //我还要能够获得下属的信息
    func getSubordinate() -> [ICorp]
    
    
}
